package com.wjw.java.basic.arrays_;

import java.util.Arrays;
import java.util.Comparator;
import java.util.List;

/**
 * Arrays：工具类
 */
public class Arrays_ {
    public static void main(String[] args) {
        //1.toString,将数组转为字符串
        Integer [] nums = {1,20,99,0,-22};
        System.out.println(Arrays.toString(nums));

        //2.sort,默认升序排序
        Arrays.sort(nums);
        System.out.println("升序："+Arrays.toString(nums));
        /**
         * 3.sort,自定义排序
         * o1 - o2：升序
         * o2 - o1：降序
         */
        Arrays.sort(nums, new Comparator<Integer>() {
            @Override
            public int compare(Integer o1, Integer o2) {
                return o2 - o1;
            }
        });
        System.out.println("降序："+Arrays.toString(nums));

        //4.copyOf()数组元素的复制
        Integer[] copy = Arrays.copyOf(nums, nums.length);
        System.out.println("复制："+Arrays.toString(copy));

        //5.fill()数组元素的填充
        Arrays.fill(copy,100);//使用100替换copy中的所有元素
        System.out.println("替换元素："+Arrays.toString(copy));

        //6.equals()比较两个数组中的每一个元素,如果都一样则为true,反之为false
        Integer [] numsA = {1,2,3,4};
        Integer [] numsB = {1,2,3,4};
        System.out.println(Arrays.equals(numsA, numsB));

        //7.asList()将不定长参数转为一个集合
        List<Integer> list1 =Arrays.asList(numsB);
        List<Integer> list2 = Arrays.asList(1, 2, 3, 4, 5, 6);
//        for (Integer i : list1) {
//            System.out.println(i);
//        }
//        for (Integer j : list2) {
//            System.out.println(j);
//        }

    }
}
